Hadoop: 安装过程复盘
本文档的内容是整理 Hadoop 生态环境安装过程中遇到的问题复盘.
HDFS 启动后 DataNode 报 Hostname 错误
安装的环境:
- 操作系统: Ubuntu 20.04
- Hadoop 版本: 3.3.5
- Hadoop 安装模式: 4 个 Datanode 节点的分布式环境
相关的网络配置 /etc/hosts
和 /etc/hostname
配置都已经确定是安装良好,但是启动 HDFS 时(使用命令为 start-dfs.sh
) 时出现以下错误:
1 | Starting datanodes |
NameNode 节点和 SecondaryNameNode 节点启动正常,其中有一个 DataNode 正常启动。
解决过程思路
网络配置错误
最开始判断是网络配置错误,将环境中的/etc/hosts
和/etc/hostname
修改及验证没有问题后还是出现上面的错误日志。环境不兼容的问题
判断可能是环境不兼容的问题,尝试用一个服务器配置 Namenode、SecondaryNameNode、ResourceManager、NodeManager。这种方案验证了所有服务都可以正常启动,说明系统不存在兼容和配置问题。重新安装服务器进行配置后还是出现同样的问题修改
workers
配置问题
最后发现一个情况,在workers
中的最后一个 DataNode 的节点是正常启动,另外打印的日志信息显示的也是hostname
存在不规范字符,由此判断可能是workers
配置方式存在问题。需要说明配置workers
按照一般方案进行配置的。
最后进行多个尝试,发现需要将workers
的前面几个节点后加上空格,那么就可以解决该问题。
Web 端不能预览文件
在 web 端浏览 hdfs 文件显示 Couldn't preview the file. NetworkError: Failed to execute 'send' on 'XMLHttpRequest': Failed to load 'http://hadoop1:9864/webhdfs/v1/test.txt?op=OPEN&namenoderpcaddress=hadoop1:9000&offset=0&_=1713401560620'.
信息。原因是服务端没有配置 hosts
信息,导致 hadoop1
这些 hostname 没有被解析到.
解决方案是在客户端配置上
hosts
,如果是在 Windows 上需要修改C:\Windows\System32\drivers\etc
中的hosts
文件- Windows 11 是在
hosts.ics
文件添加主机映射信息 - Windows 10 以前是
hosts
文件
- Windows 11 是在
另外需要检查
hadoop
的配置文件hdfs-site.xml
中是否设置dfs.webhdfs.enabled
为true